Systems Manager(SSM) 新統合の「診断および是正」機能を使いながら、EC2インスタンスをSSM管理下にしてみた
2024/11 に Systems Manager(SSM) に新しい統合機能が登場しています。 この統合機能により AWSアカウント横断で SSMマネージドノードの把握が容易になりました。
そして、新しい統合機能の1要素に [診断および是正 (Diagnose and remediate)] があります。
「SSM管理になっていないノード」についての情報が確認でき、 管理になっていない理由の確認や是正が可能です。
今回はこの「診断および是正」機能を実際に試してみます。
はじめにまとめ(やったこと)
現時点(2025/01) では以下是正が可能です。
是正項目 | 利用するランブック | 公式ドキュメント |
---|---|---|
VPC DNS設定の不備を修正する | AWS-RemediateSSMAgentVPCAttributes | Problem category: DNS or DNS host name configuration |
VPCエンドポイントを作成する | AWS-RemediateSSMAgentVPCEndpoints | Problem category: VPC endpoint configuration |
セキュリティグループの不備を修正する | AWS-RemediateSSMAgentHTTPSAccess | Problem category: Security group configuration and HTTPS communications |
これらのランブックを試すために、 以下のような「EC2インスタンスがSSM管理下になっていない環境」から是正を開始しました。
EC2インスタンスがSSM管理下になっていない環境
具体的には以下ステップを実施して、 EC2インスタンスをSSM管理下としました。
- #1: VPC DNS設定の更新 by SSM新統合の是正機能
- #2: VPCエンドポイントの作成 by SSM新統合の是正機能
- #3: セキュリティグループの設定 by SSM新統合の是正機能
- #4: IAMロールの付与 by 手動
以降で各ステップの実施内容を説明します。
#1: VPC DNS設定の更新(AWS-RemediateSSMAgentVPCAttributes)
SSMコンソールの [Diagnose and remediate] にて [新しい診断を実行] を選択することで、 SSM管理下になっていないEC2インスタンスの診断が走ります。
はじめの診断では「無効にされたVPC DNSサポート」 および「VPCエンドポイントがありません」の 2つの問題が検出されました。 「無効にされたVPC DNSサポート」のレコメンデーションを選択します。
レコメンデーションではランブック(AWS-RemediateSSMAgentVPCAttributes)と公式ドキュメントへのリンクが案内されます。 公式ドキュメントは以下ページです。
[ランブックを表示] を選択すると、ランブック実行の設定/確認画面が表示されます。 是正を適用するターゲット(AWSアカウント)とリージョンを選択できます。 今回はすべてのアカウント、すべてのリージョンで [実行] しました。
実行に成功すると以下のようなマネジメントコンソール通知が表示されます。
対象のVPC設定を確認すると、無効化していたDNS設定が更新されていました。
ここまでの是正まとめ
#2: VPCエンドポイントの作成(AWS-RemediateSSMAgentVPCEndpoints)
もう一度 [新しい診断を実行] します。 「VPCエンドポイントがありません」問題のみになりました。
公式ドキュメントへのリンクは以下になります。
ランブック(AWS-RemediateSSMAgentVPCEndpoints)の詳細画面を表示し、 同様に [実行] していきます。
実行プレビューでエラーが出ていますが気にせずに...
実行後にVPCエンドポイントを確認すると、 3つのVPCエンドポイントが作成されていました。
com.amazonaws.ap-northeast-1.ssm
com.amazonaws.ap-northeast-1.ec2messages
com.amazonaws.ap-northeast-1.ssmmessages
ここまでの是正まとめ
#3: セキュリティグループの設定(AWS-RemediateSSMAgentHTTPSAccess)
もう一度 [新しい診断を実行] します。 今度は「誤って設定されたセキュリティグループ」問題が新たに出てきました。
公式ドキュメントへのリンクは以下になります。
ランブック(AWS-RemediateSSMAgentHTTPSAccess)の詳細画面を表示し、 同様に [実行] していきます。
実行後にEC2のセキュリティグループを確認します。 もともとアウトバウントルールをすべて削除していたのですが、 「VPCエンドポイント セキュリティグループへのHTTPSを許可」ルールが付与されていました。
ここまでの是正まとめ
#4: IAMロールの付与(手動)
もう一度 [新しい診断を実行] します。 次は「未診断のエラー」となり、 Troubleshooting SSM Agent の案内のみとなりました。
SSM管理下にするには EC2インスタンスに適切な許可を与える必要があります。 対象のEC2インスタンスに「AmazonSSMManagedInstanceCore 権限を持つIAMロール」 を手動で付与しました。
その後、再度診断を実行します。 以下のように無事、マネージドインスタンスになりました。
ここまでの是正まとめ
おわりに
SSM新統合の「診断および是正」機能を使ってみました。
VPCネットワーク周りの問題は一括で修正まで実施できるため便利です。 マルチアカウント環境で、管理しているVPC数が多い場合は恩恵が大きいです。
以上、参考になれば幸いです。
参考